package cn.com.sise.dao;

import cn.com.sise.pojo.Resources;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface ResourcesDao {
    /**
     * 增加视听资源
     *
     * @param resources resourcePOJO
     * @return int
     */
    int insertResource(Resources resources);

    /**
     * 通过resourceId删除视听资源
     *
     * @param resources resourcePOJO
     * @return int
     */
    int deleteResource(Resources resources);

    /**
     * 通过resourcesId修改视听资源信息
     *
     * @param resources resourcePOJO
     * @return int
     */
    int updateResource(Resources resources);

    /**
     * 通过分类查询视听资源
     *
     * @param resources 资源信息
     * @return List<Resources>
     */
    List<Resources> selectResourceByClassification(Resources resources);

    /**
     * 通过名称模糊查询视听资源
     *
     * @param resources 资源信息
     * @return List<Resources>
     */
    List<Resources> selectResourceByName(Resources resources);

    /**
     * 查询视听列表
     *
     * @param start 开始页
     * @param count 结束页
     * @return List<Resources>
     */
    List<Resources> selectResourcesPage(@Param("start") int start, @Param("count") int count);

    /**
     * 查询试听的记录数
     *
     * @return int
     */
    int getResourcesTotal();

    /**
     * 根据ID查询视听信息
     *
     * @param resource_id 视听ID
     * @return Resources
     */
    Resources selectResourcesById(@Param("resource_id") int resource_id);

    /**
     * 根据视听的标识码查找信息
     *
     * @param r_Code 标识码
     * @return Resources
     */
    Resources selectResourcesByRCode(@Param("r_Code") String r_Code);

    /**
     * 获取所有的视听资源
     *
     * @return List<Resources>
     */
    List<Resources> getAllResource();
}
